<?php

/**
 * Description of GestorBBDD
 *
 * @author Paniagua
 */
require_once 'usuario.php';
require_once 'producto.php';
class GestorBBDD {
    public function crearUsuario($usuario) {
        //Declaro la variable de retorno. Tomará valor 0 si ha ido bien y el código de sql si hay error
        $resultado_sql=0;
        
        //Meto en variables los atributos del objeto $usuario
        $email = $usuario->getEmail();
        $password = $usuario->getPassword();
        $nombre = $usuario->getNombre();
        $apellidos = $usuario->getApellidos();
        $dni = $usuario->getDni();
        $tfno = $usuario->getTfno();
        $direccion = $usuario->getDireccion();
        $cp = $usuario->getCp();
        $poblacion = $usuario->getPoblacion();
        $provincia = $usuario->getProvincia();
        $pais = $usuario->getPais ();
        
        
        //Establezco una conexión con la base de datos
        $db = new mysqli('localhost', 'root', '', 'planet_basket');
        if($db->connect_errno > 0){
            die('Unable to connect to database [' . $db->connect_error . ']');
        }        
        //Escribo la sentencia SQL
        $sql = "INSERT INTO t_usuarios (email, password, nombre, apellidos, dni, tfno, direccion, cp, poblacion, provincia, pais) VALUES ('$email', '$password', '$nombre', '$apellidos', '$dni', '$tfno', '$direccion', '$cp', '$poblacion', '$provincia', '$pais')";
        //Ejecuto la sentencia sql
	$db->query($sql);
        //Asigno la respuesta de la ejecución de la sentencia a una variable
        //$db->error; Mensaje de error SQL
        //$db->errno; Número de error SQL
        $resultado_sql = $db->errno;
        //Cierro la conexión con la base de datos
        $db->close();
        //Salgo de la función
        return $resultado_sql;
    }
    
    public static function getListaUsurarios() {
        
       $db = new mysqli('localhost', 'root', '', 'planet_basket');
       if($db->connect_errno > 0){
            die('Unable to connect to database [' . $db->connect_error . ']');
        } 
       $sql = "SELECT * from t_usuarios WHERE nombre='james'";
       $result = $db->query($sql);
       $db->close();
       return $result;
        
    }
    public static function validarUsuario($email,$password) {
    $db = new mysqli('localhost', 'root', '', 'planet_basket');
    if ($db->connect_errno > 0) {
        die('Unable to connect to database [' . $db->connect_error . ']');
    }

    $sql = "SELECT * FROM t_usuarios WHERE email='".$email."' AND password='".$password."'";
    $result = $db->query($sql);
    $db->close();
      
    return $result;
}
    public static function buscarProductos ($producto,$talla,$equipo){
        $db = new mysqli('localhost', 'root', '', 'planet_basket');
         if ($db->connect_errno > 0) {
         die('Unable to connect to database [' . $db->connect_error . ']');
        }
        if (($producto == "Producto") && ($talla=="Talla") && ($equipo=="Equipo")){
            $sql = "SELECT * FROM t_producto";
        } else if (($producto=="Producto") && ($talla=="Talla")){
            $sql = "SELECT * FROM t_producto WHERE Equipo='".$equipo."'";
        } else if (($producto=="Producto") && ($equipo=="Equipo")){
            $sql = "SELECT * FROM t_producto WHERE Talla='".$talla."'";
        } else if (($talla=="Talla") && ($equipo=="Equipo")){
            $sql = "SELECT * FROM t_producto WHERE Tipo='".$producto."'";
        } else if ($producto=="Producto") {
            $sql = "SELECT * FROM t_producto WHERE Talla='".$talla."' AND Equipo='".$equipo."'";
        } else if ($equipo=="Equipo"){
            $sql = $sql = "SELECT * FROM t_producto WHERE Tipo='".$producto."' AND Talla='".$talla."'";
        } else if ($talla=="Talla"){
            $sql = "SELECT * FROM t_producto WHERE Tipo='".$producto."'AND Equipo='".$equipo."'";
        } else {
            $sql = "SELECT * FROM t_producto WHERE Tipo='".$producto."' AND Talla='".$talla."' AND Equipo='".$equipo."'";
        }
        $result = $db->query($sql);
        $db->close();
      
         return $result;  
    
    }
    
    public function crearProducto($producto){
        
        $resultado_sql=0;
        
        //Meto en variables los atributos del objeto $usuario
        $referencia = $producto->getReferencia();
        $tipo = $producto->getTipo();
        $precio = $producto->getPrecio();
        $competicion = $producto->getCompeticion();
        $marca = $producto->getMarca();
        $modelo = $producto->getModelo();
        $foto = $producto->getFoto();
        $talla = $producto->getTalla();
        $jugador = $producto->getJugador();
        $equipo = $producto->getEquipo();
        
        
        //Establezco una conexión con la base de datos
        $db = new mysqli('localhost', 'root', '', 'planet_basket');
        if($db->connect_errno > 0){
            die('Unable to connect to database [' . $db->connect_error . ']');
        }        
        //Escribo la sentencia SQL
        $sql = "INSERT INTO t_producto (Referencia, Tipo, Precio, Competicion, Marca, Modelo, Foto, Talla, Jugador, Equipo) VALUES ('$referencia', '$tipo', '$precio', '$competicion', '$marca', '$modelo', '$foto', '$talla', '$jugador', '$equipo')";
        //Ejecuto la sentencia sql
	$db->query($sql);
        //Asigno la respuesta de la ejecución de la sentencia a una variable
        //$db->error; Mensaje de error SQL
        //$db->errno; Número de error SQL
        $resultado_sql = $db->errno;
        $mensaje_error_sql = $db->error;
        //Cierro la conexión con la base de datos
        $db->close();
        
        if ($resultado_sql!=0){
            throw new Exception ($mensaje_error_sql);
        }
        //Salgo de la función
        return;
       
    }


public function modificarProducto ($producto){
    
    $referencia = $producto->getReferencia();
    $tipo = $producto->getTipo();
    $precio = $producto->getPrecio();
    $competicion = $producto->getCompeticion();
    $marca = $producto->getMarca();
    $modelo = $producto->getModelo();
    $foto = $producto->getFoto();
    $talla = $producto->getTalla();
    $jugador = $producto->getJugador();
    $equipo = $producto->getEquipo();
    $db = new mysqli('localhost', 'root', '', 'planet_basket');
        if($db->connect_errno > 0){
            die('Unable to connect to database [' . $db->connect_error . ']');
        }  
    
    $sql="Update t_producto Set Tipo='$tipo',Precio='$precio',Competicion='$competicion',Marca='$marca',Modelo='$modelo',Foto='$foto',Talla='$talla', Jugador='$jugador',Equipo='$equipo' Where Referencia='$referencia'";
    $db->query($sql);
        //Asigno la respuesta de la ejecución de la sentencia a una variable
        //$db->error; Mensaje de error SQL
        //$db->errno; Número de error SQL
        $resultado_sql = $db->errno;
        $mensaje_error_sql = $db->error;
        //Cierro la conexión con la base de datos
        $db->close();
        //Salgo de la función
        if ($resultado_sql!=0){
            throw new Exception ($mensaje_error_sql);
        }
        //Salgo de la función
        return;
    }
    
    public function borrarProducto ($producto){
        
        $referencia = $producto->getReferencia();
        
        $db = new mysqli('localhost', 'root', '', 'planet_basket');
        if($db->connect_errno > 0){
            die('Unable to connect to database [' . $db->connect_error . ']');
        }  
    
    $sql="DELETE from t_producto Where Referencia='$referencia'";
    $db->query($sql);
        //Asigno la respuesta de la ejecución de la sentencia a una variable
        //$db->error; Mensaje de error SQL
        //$db->errno; Número de error SQL
        $resultado_sql = $db->errno;
        $mensaje_error_sql = $db->error;
        //Cierro la conexión con la base de datos
        $db->close();
        if ($resultado_sql!=0){
            throw new Exception ($mensaje_error_sql);
        }
        //Salgo de la función
        return;
        
    }
    
}
?>


